#include "junix.h"
using namespace std;

struct A
{
	void f()
	{
		g();
	}

	private:
	virtual void g()=0;
};


struct B:public A
{
	private:
	virtual void g()
	{
		cout<<"B::g()"<<endl;
	}
};

struct C:public A
{ };

int main(int argc, char **argv)
{
	A *pa = new B;
	pa->f();
	
//	pa = new C;
}
